<?php
if (!class_exists('Globals')) require_once "standard.php";

// Η συμβολική σταθερά "DIAFIMISI" περιέχει το όνομα του αρχείου διαφήμισης στο βασικό
// directory της εφαρμογής. Το αρχείο διαφήμισης περιέχει PHP κώδικα που θα συμπεριληφθεί
// στο DOM element διαφημίσεων.

define("DIAFIMISI", "diafimisi.php");

// Η συμβολική σταθερά "MOTD" περιέχει το όνομα του αρχείου motd (message of the day) στο
// βασικό directory της εφαρμογής. Το αρχείο motd περιέχει PHP κώδικα που θα συμπεριληφθεί
// στο DOM element του motd.

define("MOTD", "motd.php");

// Το παρόν περιέχει την κλάση "Selida" που αφορά στην κατασκευή ιστοσελίδων του ιστοτόπου.
// Το αρχείο γίνεται "include" σε όλες τις ιστοσελίδες και by default ενεργοποιεί και το
// session.

Globals::session();

// Η κλάση "Selida" χρησιμοποιείται κυρίως ως name space, οπότε δεν υπάρχουν properties
// και όλες οι μέθοδοι είναι static. Πρόκειται για μεθόδους οι οποίες διευκολύνουν το
// στήσιμο της ιστοσελίδας.

class Selida {
	public static function head(
		$titlos = "Φαντασματάκια",
		$perigrafi = "Παίξτε φαντασματάκια on-line!"
	) {
		Globals::header_html();
		?>
		<!DOCTYPE html>
		<html>
		<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta name="description" content="<?php print $perigrafi; ?>" />
		<meta name="keywords" content="φαντασματάκια,geister,ghosts" />
		<meta name="author" content="<?php print OWNER_ONOMA; ?>" />
		<meta name="copyright" content="Copyright by <?php print OWNER_ONOMA; ?>. All Rights Reserved." />
		<link rel="icon" type="image/png" href="<?php print Globals::$server;?>ikona/pexnidi/favicon.png" />
		<title><?php print $titlos; ?></title>
		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
		<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
		<?php
		self::javascript('common/globals');
		self::javascript('common/geister');
		self::stylesheet('lib/selida');
		self::javascript('lib/selida');
		?>
		<script type="text/javascript">
		//<![CDATA[
		client.server = <?php print Globals::asfales_json(Globals::$server); ?>;
		client.skiser = <?php print Globals::asfales_json(Globals::$skiser); ?>;
		client.timeDif = <?php print time(); ?> - globals.tora();
		client.ipostirixi = <?php print Globals::asfales_json(IPOSTIRIXI); ?>;
		client.iposelida = <?php print Globals::perastike("iposelida") ? "true" : "false"; ?>;
		<?php
		// Στο σημείο αυτό μεταφέρουμε τα session elements της PHP στην JavaScript.
		foreach ($_SESSION as $key => $val) {
			?>client.session[<?php print Globals::asfales_json($key); ?>] = <?php
				print Globals::asfales_json($val); ?>;<?php
		}
		?>
		//]]>
		</script>
		<?php
		self::klista_check();
	}

	public static function stylesheet($css) {
		?><link rel="stylesheet" type="text/css" href="<?php print Globals::plires_url($css); ?>.css" /><?php
	}

	public static function javascript($script) {
		?><script type="text/javascript" src="<?php print Globals::plires_url($script); ?>.js"></script><?php
	}

	// Αν ο ιστότοπος είναι κλειδωμένος, τότε εκτυπώνουμε το περιεχόμενο του αρχείου
	// κλειδώματος και δεν προχωρούμε σε περαιτέρω ενέργειες.

	private static function klista_check() {
		if (Globals::oxi_klista()) return;

		// Αν το αρχείο κλειδώματος περιέχει έστω και έναν χαρακτήρα, τότε εκτυπώνεται
		// το περιεχόμενο του αρχείου ως body της τρέχουσας σελίδας, αλλιώς εκτυπώνεται
		// default σελίδα που πληροφορεί τον χρήστη ότι ο ιστότοπος είναι κλειδωμένος.

		self::body();
		if (@filesize(Globals::$www . KLISTA_FILENAME)) Globals::diavase(KLISTA_FILENAME);
		else Globals::diavase("lock/klistaDefault.php");
		self::telos();
		Globals::klise_fige();
	}

	public static function body() {
		?></head><body><div id="ixos"></div><?php
	}

	public static function telos() {
		?></body></html><?php
	}

	public static function diafimisi() {
		if (!@filesize(Globals::$www . DIAFIMISI)) return;
		?><div id="diafimisi"><?php Globals::diavase(DIAFIMISI); ?></div><?php
	}

	public static function motd() {
		if (!@filesize(Globals::$www . MOTD)) return;
		?><div id="motd"><?php Globals::diavase(MOTD); ?></div><?php
	}

	public static function toolbar() {
		?><table id="toolbar"><tr>
		<td id="toolbarLeft"></td>
		<td id="toolbarCenter"></td>
		<td id="toolbarRight"></td>
		</tr></table><?php
	}

	public static function ribbon() {
		?><table id="ribbon"><tr>
		<td id="ribbonLeft"></td>
		<td id="ribbonCenter"></td>
		<td id="ribbonRight"></td>
		</tr></table><?php
	}

	public static function fyiPano() {
		?><div id="fyiPano"></div><?php
	}

	public static function fyiKato() {
		?><div id="fyiKato"></div><?php
	}

	public static function basiPano() {
		?><div id="basiPano"></div><?php
	}

	public static function basiKato() {
		?><div id="basiKato"></div><?php
	}
}
?>
